package mastercard.assets.jpa;

import java.io.Serializable;
import javax.persistence.*;
import java.sql.Timestamp;
import java.util.List;


/**
 * The persistent class for the tbl_tarea database table.
 * 
 */
@Entity
@Table(name="tbl_tarea")
public class TblTarea implements Serializable {
	private static final long serialVersionUID = 1L;
	private int cveTarea;
	private String descripcion;
	private int fecActDias;
	private int fecActFecha;
	private int fecLimDias;
	private int fecLimFechas;
	private Timestamp fechaActiva;
	private Timestamp fechaAlta;
	private Timestamp fechaLimite;
	private byte firstWork;
	private String nombre;
	private byte status;
        private byte multiple ;
        private byte microFlujo ;
	private List<TblFormaAlarma> tblFormaAlarmas;
	private List<TblFormaAlerta> tblFormaAlertas;
	private TblFlujo tblFlujo;
	private TblRole tblRole;
	private TblNivel tblNivel;
	private TblForma tblForma;
	private List<TblTareaFlujo> tblTareaFlujos1;
	private List<TblTareaFlujo> tblTareaFlujos2;
	private List<TblTareaPreimplementacion> tblTareaPreimplementacions;

    public TblTarea() {
    }


	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	@Column(name="cve_tarea", unique=true, nullable=false)
	public int getCveTarea() {
		return this.cveTarea;
	}

	public void setCveTarea(int cveTarea) {
		this.cveTarea = cveTarea;
	}


	@Column(nullable=false, length=2048)
	public String getDescripcion() {
		return this.descripcion;
	}

	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}


	@Column(name="fec_act_dias", nullable=false)
	public int getFecActDias() {
		return this.fecActDias;
	}

	public void setFecActDias(int fecActDias) {
		this.fecActDias = fecActDias;
	}


	@Column(name="fec_act_fecha", nullable=false)
	public int getFecActFecha() {
		return this.fecActFecha;
	}

	public void setFecActFecha(int fecActFecha) {
		this.fecActFecha = fecActFecha;
	}


	@Column(name="fec_lim_dias", nullable=false)
	public int getFecLimDias() {
		return this.fecLimDias;
	}

	public void setFecLimDias(int fecLimDias) {
		this.fecLimDias = fecLimDias;
	}


	@Column(name="fec_lim_fechas", nullable=false)
	public int getFecLimFechas() {
		return this.fecLimFechas;
	}

	public void setFecLimFechas(int fecLimFechas) {
		this.fecLimFechas = fecLimFechas;
	}


	@Column(name="fecha_activa")
	public Timestamp getFechaActiva() {
		return this.fechaActiva;
	}

	public void setFechaActiva(Timestamp fechaActiva) {
		this.fechaActiva = fechaActiva;
	}


	@Column(name="fecha_alta", nullable=false)
	public Timestamp getFechaAlta() {
		return this.fechaAlta;
	}

	public void setFechaAlta(Timestamp fechaAlta) {
		this.fechaAlta = fechaAlta;
	}


	@Column(name="fecha_limite")
	public Timestamp getFechaLimite() {
		return this.fechaLimite;
	}

	public void setFechaLimite(Timestamp fechaLimite) {
		this.fechaLimite = fechaLimite;
	}


	@Column(nullable=false)
	public byte getFirstWork() {
		return this.firstWork;
	}

	public void setFirstWork(byte firstWork) {
		this.firstWork = firstWork;
	}


	@Column(nullable=false, length=255)
	public String getNombre() {
		return this.nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}


	@Column(nullable=false)
	public byte getStatus() {
		return this.status;
	}

	public void setStatus(byte status) {
		this.status = status;
	}
        
        @Column(nullable=false)
	public byte getMultiple() {
		return this.multiple;
	}

	public void setMultiple(byte multiple) {
		this.multiple = multiple;
	}
        
        @Column(nullable=false)
	public byte getMicroFlujo() {
		return this.microFlujo;
	}

	public void setMicroFlujo(byte microFlujo) {
		this.microFlujo = microFlujo;
	}

	//bi-directional many-to-one association to TblFormaAlarma
	@OneToMany(mappedBy="tblTarea")
	public List<TblFormaAlarma> getTblFormaAlarmas() {
		return this.tblFormaAlarmas;
	}

	public void setTblFormaAlarmas(List<TblFormaAlarma> tblFormaAlarmas) {
		this.tblFormaAlarmas = tblFormaAlarmas;
	}
	

	//bi-directional many-to-one association to TblFormaAlerta
	@OneToMany(mappedBy="tblTarea")
	public List<TblFormaAlerta> getTblFormaAlertas() {
		return this.tblFormaAlertas;
	}

	public void setTblFormaAlertas(List<TblFormaAlerta> tblFormaAlertas) {
		this.tblFormaAlertas = tblFormaAlertas;
	}
	

	//bi-directional many-to-one association to TblFlujo
    @ManyToOne
	@JoinColumn(name="cve_flujo", nullable=false)
	public TblFlujo getTblFlujo() {
		return this.tblFlujo;
	}

	public void setTblFlujo(TblFlujo tblFlujo) {
		this.tblFlujo = tblFlujo;
	}
	

	//bi-directional many-to-one association to TblRole
    @ManyToOne
	@JoinColumn(name="cve_role", nullable=false)
	public TblRole getTblRole() {
		return this.tblRole;
	}

	public void setTblRole(TblRole tblRole) {
		this.tblRole = tblRole;
	}
	

	//bi-directional many-to-one association to TblNivel
    @ManyToOne
	@JoinColumn(name="cve_nivel")
	public TblNivel getTblNivel() {
		return this.tblNivel;
	}

	public void setTblNivel(TblNivel tblNivel) {
		this.tblNivel = tblNivel;
	}
	

	//bi-directional many-to-one association to TblForma
    @ManyToOne
	@JoinColumn(name="cve_forma", nullable=false)
	public TblForma getTblForma() {
		return this.tblForma;
	}

	public void setTblForma(TblForma tblForma) {
		this.tblForma = tblForma;
	}
	

	//bi-directional many-to-one association to TblTareaFlujo
	@OneToMany(mappedBy="tblTarea1")
	public List<TblTareaFlujo> getTblTareaFlujos1() {
		return this.tblTareaFlujos1;
	}

	public void setTblTareaFlujos1(List<TblTareaFlujo> tblTareaFlujos1) {
		this.tblTareaFlujos1 = tblTareaFlujos1;
	}
	

	//bi-directional many-to-one association to TblTareaFlujo
	@OneToMany(mappedBy="tblTarea2")
	public List<TblTareaFlujo> getTblTareaFlujos2() {
		return this.tblTareaFlujos2;
	}

	public void setTblTareaFlujos2(List<TblTareaFlujo> tblTareaFlujos2) {
		this.tblTareaFlujos2 = tblTareaFlujos2;
	}
	

	//bi-directional many-to-one association to TblTareaPreimplementacion
	@OneToMany(mappedBy="tblTarea")
	public List<TblTareaPreimplementacion> getTblTareaPreimplementacions() {
		return this.tblTareaPreimplementacions;
	}

	public void setTblTareaPreimplementacions(List<TblTareaPreimplementacion> tblTareaPreimplementacions) {
		this.tblTareaPreimplementacions = tblTareaPreimplementacions;
	}
	
}